unit ulab11_4;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure GroupBox1Click(Sender: TObject);

  private
    { private declarations }
  public
    { public declarations }
  end; 

var
  Form1: TForm1; 

implementation
uses ModDd;
var T:Tvd;

{Генерує випадкове ціле число в інтервалі [-a;a]}
function GenInteger(a: integer): integer;
begin
      //Randomize;
      Result:= Random(a);

      if Random(2) = 0 then
         Result:= -Result;
end;

{ TForm1 }

procedure TForm1.GroupBox1Click(Sender: TObject);
begin

end;

{Обробник кнопки Включити}
procedure TForm1.Button1Click(Sender: TObject);
Var
     nd:integer;
     dd:Tel;
     zv:integer;
     pr:integer;
begin
     nd:=StrToInt(Edit1.Text);
     dd:=StrToInt(Edit2.Text);
     zv:=StrToInt(Edit3.Text);
     Stvder(T, nd, dd, zv, pr);
     if pr=1 then Label6.Caption:='Зв''зки зайняті';
     if pr=2 then Label6.Caption:='Вузол не знайдено';
     if pr=0 then begin Label6.Caption:='Вузол включено';
        Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:='';
  end;
end;

{Обробник кнопки Вивести дерево}
procedure TForm1.Button2Click(Sender: TObject);
var
   Lst:TStringList;
begin
     Lst:=TStringList.Create;
     Drukder(T, Lst);
     Memo2.Lines.Clear;
     Memo2.Lines.AddStrings(Lst);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
   Lst:TStringList;
begin
     Lst:=TStringList.Create;
     DrukVidDer(T, Lst);
     Memo3.Lines.Clear;
     Memo3.Lines.AddStrings(Lst);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Close;
end;

initialization
  {$I ulab11_4.lrs}

end.

